package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备信息对象 device_info
 *
 * @author ruoyi
 * @date 2025-04-15
 */
public class DeviceInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 设备ID
     */
    @Excel(name = "设备ID")
    private String deviceId;

    /**
     * 设备IP地址
     */
    private String ip;

    /**
     * 设备MAC地址
     */
    private String mac;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    private String username;

    /**
     * 系统版本
     */
    @Excel(name = "系统版本")
    private String version;

    /**
     * 设备内部型号
     */
    private String model;

    /**
     * 设备型号
     */
    @Excel(name = "设备型号")
    private String deviceName;

    /**
     * 屏幕宽度
     */
    private Long width;

    /**
     * 屏幕高度
     */
    private Long height;

    /**
     * 在线状态 0离线 1在线
     */
    @Excel(name = "在线状态 0离线 1在线")
    private Integer state;

    /**
     * 屏幕方向 0竖屏 1横屏
     */
    private Integer rotate;

    /**
     * USB设备VID
     */
    private String vid;

    /**
     * USB设备PID
     */
    private String pid;

    /**
     * USB设备鼠标参数
     */
    private String location;

    /**
     * USB鼠标参数CRC
     */
    private String locationCrc;

    /**
     * 分组ID
     */
    private String gid;

    /**
     * 设备自定义名称
     */
    @Excel(name = "设备自定义名称")
    private String name;

    /**
     * tiktop名称
     */
    @Excel(name = "tiktop名称")
    private String tkname;

    /**
     * VPN连接名称
     */
    @Excel(name = "VPN连接名称")
    private String vpnName;

    /**
     * 国家
     */
    @Excel(name = "国家")
    private String country;

    /**
     * 分组名称
     */
    @Excel(name = "分组名称")
    private String gname;

    private int nurturanceStatus = -1;

    private int videoCount = -1;

    private int tkStatus = -1;

    public int getTkStatus() {
        return tkStatus;
    }

    public void setTkStatus(int tkStatus) {
        this.tkStatus = tkStatus;
    }

    public int getVideoCount() {
        return videoCount;
    }

    public void setVideoCount(int videoCount) {
        this.videoCount = videoCount;
    }

    public int getNurturanceStatus() {
        return nurturanceStatus;
    }

    public void setNurturanceStatus(int nurturanceStatus) {
        this.nurturanceStatus = nurturanceStatus;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getIp() {
        return ip;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    public String getMac() {
        return mac;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUsername() {
        return username;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getVersion() {
        return version;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getModel() {
        return model;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setWidth(Long width) {
        this.width = width;
    }

    public Long getWidth() {
        return width;
    }

    public void setHeight(Long height) {
        this.height = height;
    }

    public Long getHeight() {
        return height;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getState() {
        return state;
    }

    public void setRotate(Integer rotate) {
        this.rotate = rotate;
    }

    public Integer getRotate() {
        return rotate;
    }

    public void setVid(String vid) {
        this.vid = vid;
    }

    public String getVid() {
        return vid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getPid() {
        return pid;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getLocation() {
        return location;
    }

    public void setLocationCrc(String locationCrc) {
        this.locationCrc = locationCrc;
    }

    public String getLocationCrc() {
        return locationCrc;
    }

    public void setGid(String gid) {
        this.gid = gid;
    }

    public String getGid() {
        return gid;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setTkname(String tkname) {
        this.tkname = tkname;
    }

    public String getTkname() {
        return tkname;
    }

    public void setVpnName(String vpnName) {
        this.vpnName = vpnName;
    }

    public String getVpnName() {
        return vpnName;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCountry() {
        return country;
    }

    public void setGname(String gname) {
        this.gname = gname;
    }

    public String getGname() {
        return gname;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deviceId", getDeviceId())
                .append("ip", getIp())
                .append("mac", getMac())
                .append("username", getUsername())
                .append("version", getVersion())
                .append("model", getModel())
                .append("deviceName", getDeviceName())
                .append("width", getWidth())
                .append("height", getHeight())
                .append("state", getState())
                .append("rotate", getRotate())
                .append("vid", getVid())
                .append("pid", getPid())
                .append("location", getLocation())
                .append("locationCrc", getLocationCrc())
                .append("gid", getGid())
                .append("name", getName())
                .append("tkname", getTkname())
                .append("vpnName", getVpnName())
                .append("country", getCountry())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("gname", getGname())
                .toString();
    }
}
